编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。
数据范围:
输入一行没有空格的字符串。
输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。
abc
3
aaa
1
# 方法1: print(len([i for i in set(input()) if 0 <= ord(i) <= 127])) # 方法2: print(len(set(input())))
strings = input("") count = 0 hash_set = set() for s in strings: if s in hash_set: continue hash_set.add(s) count += 1 print(count)
st=input() i=0 l=[] for a in st: if (ord(a)>=0 and ord(a)<=127): if a in l: continue else: i+=1 l.append(a) else: continue print(i)
# # 思路,必须有循环 # # 设置一个空的字符,从输入的里面取出元素, # # 如果元素没有在字符里面,那么就把这个取出的放到字符里面,组成新的字符(同时计数器进行计数) # # 如果取出的存在字符里面,说明是重复的,那么就不用去添加了(计数器不计数) # str1 = input() # # 把输入的字符转化为列表 # str_list = list(str1) # temp = '' # num = 0 # for i in str_list: # if i not in temp: # num = num + 1 # temp = temp + i # print(num) # 发现品论区才是大佬 # 使用set具有自动去重功能 list1 = [i for i in input() if ord(i) in range(128)] print(len(set(list1)))
string = input() res = 0 st = "" for s in string: if s not in st: res += 1 st += s print(res)
lis=input() str_list=[] for i in lis: if i not in str_list: str_list.append(i) else: continue print(len(str_list)) #我这多少有点简单了,但是提交又正确,不可思议